package com.ruoyi.project.leave.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 请假记录对象 leave_record
 * 
 * @author ruoyi
 * @date 2022-11-05
 */
public class LeaveRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 请假日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "请假日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveDate;

    /** 请假班次 */
    @Excel(name = "请假班次")
    private String leaveShilf;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /** 审批记录 */
    @Excel(name = "审批记录")
    private String approvalRecord;

    /** 请假理由 */
    @Excel(name = "请假理由")
    private String leaveReason;

    /** 请假类型 */
    @Excel(name = "请假类型")
    private String leaveType;

    /** 请假员工id */
    @Excel(name = "请假员工id")
    private String leaveUid;

    /** 请假员工名 */
    @Excel(name = "请假员工名")
    private String leaveUname;

    /** 请假员工组id */
    @Excel(name = "请假员工组id")
    private String userGroupId;

    /** 请假员工组名 */
    @Excel(name = "请假员工组名")
    private String userGroupName;

    /** 请假员工角色id */
    @Excel(name = "请假员工角色id")
    private Long userRoleId;

    /** 请假员工角色名 */
    @Excel(name = "请假员工角色名")
    private String userRoleName;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setLeaveDate(Date leaveDate) 
    {
        this.leaveDate = leaveDate;
    }

    public Date getLeaveDate() 
    {
        return leaveDate;
    }
    public void setLeaveShilf(String leaveShilf) 
    {
        this.leaveShilf = leaveShilf;
    }

    public String getLeaveShilf() 
    {
        return leaveShilf;
    }
    public void setApprovalStatus(String approvalStatus) 
    {
        this.approvalStatus = approvalStatus;
    }

    public String getApprovalStatus() 
    {
        return approvalStatus;
    }
    public void setApprovalRecord(String approvalRecord) 
    {
        this.approvalRecord = approvalRecord;
    }

    public String getApprovalRecord() 
    {
        return approvalRecord;
    }
    public void setLeaveReason(String leaveReason) 
    {
        this.leaveReason = leaveReason;
    }

    public String getLeaveReason() 
    {
        return leaveReason;
    }
    public void setLeaveType(String leaveType) 
    {
        this.leaveType = leaveType;
    }

    public String getLeaveType() 
    {
        return leaveType;
    }
    public void setLeaveUid(String leaveUid) 
    {
        this.leaveUid = leaveUid;
    }

    public String getLeaveUid() 
    {
        return leaveUid;
    }
    public void setLeaveUname(String leaveUname) 
    {
        this.leaveUname = leaveUname;
    }

    public String getLeaveUname() 
    {
        return leaveUname;
    }
    public void setUserGroupId(String userGroupId) 
    {
        this.userGroupId = userGroupId;
    }

    public String getUserGroupId() 
    {
        return userGroupId;
    }
    public void setUserGroupName(String userGroupName) 
    {
        this.userGroupName = userGroupName;
    }

    public String getUserGroupName() 
    {
        return userGroupName;
    }
    public void setUserRoleId(Long userRoleId) 
    {
        this.userRoleId = userRoleId;
    }

    public Long getUserRoleId() 
    {
        return userRoleId;
    }
    public void setUserRoleName(String userRoleName) 
    {
        this.userRoleName = userRoleName;
    }

    public String getUserRoleName() 
    {
        return userRoleName;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("leaveDate", getLeaveDate())
            .append("leaveShilf", getLeaveShilf())
            .append("approvalStatus", getApprovalStatus())
            .append("approvalRecord", getApprovalRecord())
            .append("leaveReason", getLeaveReason())
            .append("leaveType", getLeaveType())
            .append("leaveUid", getLeaveUid())
            .append("leaveUname", getLeaveUname())
            .append("userGroupId", getUserGroupId())
            .append("userGroupName", getUserGroupName())
            .append("userRoleId", getUserRoleId())
            .append("userRoleName", getUserRoleName())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
